/*
 * @(#)MultiPatientQueryService.java
 * Date 2013-08-13
 * Version 1.0
 * Author Jim Horner
 * Copyright (c)2012
 */


package us.hornerscorners.lamppost.mpq.service.es;

import javax.enterprise.context.ApplicationScoped;

import javax.enterprise.inject.Alternative;

import javax.inject.Inject;

import oasis.names.tc.ebxml_regrep.xsd.query._3.AdhocQueryRequest;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import us.hornerscorners.lamppost.mpq.query.es.MPQueryRunnerFactory;

import us.hornerscorners.lamppost.mpq.service.IMultiPatientQueryService;

import us.hornerscorners.lamppost.mpq.transformer.model.MPQueryRequestTransformer;

import us.hornerscorners.lamppost.registry.model.QueryRequest;

import us.hornerscorners.lamppost.registry.query.es.IQueryRunnerFactory;

import us.hornerscorners.lamppost.registry.service.es.AbstractStoredQueryService;

import us.hornerscorners.lamppost.transformer.ITransformer;


/**
 *
 * @author jim
 */
@Alternative
@ApplicationScoped
public class MultiPatientQueryService extends AbstractStoredQueryService
        implements IMultiPatientQueryService {

    /** Field description */
    private final Logger logger = LoggerFactory.getLogger(getClass());

    /** Field description */
    @Inject
    private MPQueryRequestTransformer queryRequestTransformer;

    /** Field description */
    @Inject
    private MPQueryRunnerFactory queryRunnerFactory;

    /**
     * Constructs ...
     *
     */
    public MultiPatientQueryService() {
        super();
    }

    /**
     * Method description
     *
     *
     * @return
     */
    @Override
    protected ITransformer<AdhocQueryRequest, QueryRequest> getQueryRequestTransformer() {

        return this.queryRequestTransformer;
    }

    /**
     * Method description
     *
     *
     * @return
     */
    @Override
    protected IQueryRunnerFactory getQueryRunnerFactory() {

        return this.queryRunnerFactory;
    }
}
